perm filename MEMO[MLI,LSP] blob
sn#166083 filedate 1975-07-01 generic text, type T, neo UTF8
The following files are included with the MLISP system:
MLISP - the MLISP-to-LISP translator
RUNFN1 - MLISP runtime functions
RUNFN2 - "
MACROS - MLISP macros, expanded when printed/compiled
MACRO1 - macro-expanding functions
PPRINT - fancy "pretty printer"
SCAN - the MLISP scanner (in LISP)
SCAN.MAC - the MLISP scanner (in PDP-10 machine-language)
MLISP.MLI --
RUNFN1.MLI |
RUNFN2.MLI |
MACROS.MLI |---- MLISP versions of the above files
MACRO1.MLI |
PPRINT.MLI |
SCAN.MLI --
MEXPR.MLI - LISP-to-MLISP reverse translator
The following is a copy of the message one gets if he logs onto the
Stanford AI system (SUAI) and types HELP MLISP.
*********************************************************************
MLISP is a meta-notation for LISP. It makes LISP programs easier to
write and understand. MLISP is maintained by Dave Smith and is
described in AI memo AIM-135 (CS-179), available online as
MLISP.DAV[AIM,DOC].
To interactively translate and execute MLISP expressions, type
.R MLISP
*<expression> ; <expression> ; ...
To translate and execute an MLISP program on a file, type
.R MLISP
*LISP;
*(MLISP <filename>)
To translate an MLISP program and print out its LISP translation, type
.R MLISPC
*LISP;
*(MLISP <filename> NIL)
To translate an MLISP program and compile it to LAP, type
.R MLISPC
*LISP;
*(MLISP <filename> T)
A version of MLISP using UCI LISP exists. Type "R MLISP.UCI" instead
of "R MLISP" or "R MLISPC". However the UCI MLISP does not contain
the UCI compiler, so programs to be compiled must first be translated
to LISP and then compiled as usual.
*********************************************************************
The instructions for generating MLISP and MLISPC core images have
changed slightly since the MLISP manual was published. The new
procedure follows. Note:
<cr> denotes a carriage return;
_ denotes a space;
$ denotes an altmode;
~ denotes that the rest of the line is a comment;
↑C denotes a call to the operating system;
a line beginning with a period (.) indicates you are talking
to the operating system;
a line beginning with a star (*) indicates you are talking
to a processor (e.g. COMPLR, LISP).
*********************************************************************
.R COMPLR 40 <cr> ~ compile the LISP files to LAP
*(COMPL MLISP RUNFN1 RUNFN2 PPRINT MACRO1) <cr>
*↑C
.R COMPLR 40 <cr> ~ compile the LISP compiler itself
*(COMPL COMPLR) <cr>
*↑C
.COMPILE SCAN.MAC <cr> ~ compile the MACRO file to REL
.COPY UTILS ← RUNFN2.LAP,SETQS <cr> ~ create the UTILS file
.R LISP 23 <cr> ~ create the MLISP core image
*Y2000_10300____<cr>
*(DSKIN (MLISP.LAP) (RUNFN1.LAP) MINIT UTILS) <cr>
*(INIT1) <cr>
*DSK:SCAN$ ~ this loads the machine language
*(INIT2) <cr> ~ scanner, using the loader
*↑C
.SAVE MLISP <cr>
.R LISP 33 <cr> ~ create the MLISPC core image
*Y3000_24000____<cr>
*(DSKIN (MLISP.LAP) (COMPLR.LAP) (PPRINT.LAP) MACROS
(MACRO1.LAP) MINIT UTILS) <cr>
*(INIT1) <cr>
*DSK:SCAN$ ~ this loads the machine language
*(INIT2) <cr> ~ scanner, using the loader
*↑C
.SAVE MLISPC <cr>
*********************************************************************